<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    // 第一种使用reduce
    var arr = [1, 2, 5, 6, 2, 1, 7, 8, 9, 8];
    // arr = arr.reduce((pre,cur)=>{
    //   if(!pre.includes(cur)) {
    //     pre.push(cur)
    //   }
    //   return pre
    // },[])
    // console.log('arr：',arr);

    //第二种使用Set 因为Set里面不能有重复的数字
    // let arr2 = [...new Set(arr)]
    // console.log('arr2',arr2);

    //第三种使用includes,如果遇到重复的就跳出执行
    // let newArr = []
    // for (let i = 0; i < arr.length; i++) {
    //   if(!newArr.includes(arr[i])) {
    //     newArr.push(arr[i])
    //   }
    // }
    // console.log('newArr:',newArr)

    // 第四种 纯js

     let newArr = [arr[0]];
     for(let i = 1;i<arr.length;i++) {
      for(let j = 0;j<newArr.length;j++) {
        if(arr[i] == newArr[j]) {
          break
        }
        if(j === newArr.length-1) {
          newArr.push(arr[i])
        }
      }
     }
     console.log('newArr:',newArr)
  </script>
</body>

</html>